Open
Conversation
- Implement GraphiteClient for handling queries to a Graphite datasource via Grafana proxy. - Add functions for querying metrics, listing metrics, and retrieving tags. - Enhance error handling and provide hints for empty results specific to Graphite. - Include unit tests for Graphite functionalities to ensure reliability.
sd2k
reviewed
Apr 17, 2026
Collaborator
sd2k
left a comment
There was a problem hiding this comment.
Hi, thanks for the PR!
A few of things we'd require before we can merge additional tools:
- since Graphite isn't a native datasource, it shouldn't be enabled by default (follow the pattern used by Clickhouse or Cloudwatch to see how)
- we'll need integration tests, where we spin up a Graphite instance with data in docker-compose, provision a Graphite datasource in the provisioning file, and test the tools against the real Grafana instance.
Otherwise this looks good at a cursory glance, I'll give it a deeper review once we have those things added.
… datasource provisioning
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 1a5dccc. Configure here.
…and related tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Note
Medium Risk
Introduces new HTTP-proxy query paths and adds a fallback-transport behavior change that could affect datasource querying across deployments; coverage is improved with new unit/integration tests but the surface area is non-trivial.
Overview
Adds a new disabled-by-default
graphitetool category, registering Graphite datasource tools (query_graphite,list_graphite_metrics,list_graphite_tags,query_graphite_density) with empty-result hints and both unit + integration coverage.Extends the integration test environment to include a Graphite container + seeded metrics, provisions a Graphite datasource in Grafana, and makes CI waits deterministic (Grafana API readiness, datasource provisioning, and Graphite queryability). Also tightens
datasourceFallbackTransportcaching to only remember the fallback path on successful (2xx) responses.Reviewed by Cursor Bugbot for commit 6f042df. Bugbot is set up for automated code reviews on this repo. Configure here.